#!/bin/fish
#type=fish
#title=控制台临时笔记功能
set file $HOME/Desktop/mdc_file.txt
function dis_echo 
    echo -e "\033[35m$argv\033[0m"
end
function mdc 
    if test ! -f $file
        echo "文件不存在！在桌面创建文件$file"
        set da (date +%Y年%m月%d日%H时%M分%S秒)
        echo "[创建文件时间:$da]">> $file
    end

    set e (count $argv)
    if test $e -eq 0 
        dis_echo "当前为连续输入模式"
        while true
            read input
            echo $input >> $file
        end
    else if test $argv[1] = "-clear" #清空文件
        set da (date +%Y年%m月%d日%H时%M分%S秒)
        echo "[创建文件时间:$da]" > $file
        fish
        exit 0
    else if test $argv[1] = "-cat"
        cat $file
        echo 
        fish
        exit 0
    else if test $argv[1] = "-i" #显示文件详情
        echo "$file"
    else if test $argv[1] = "-cp" #拷贝整个文件内容到剪切板 从第二行开始拷贝，第一行为时间，不需要拷贝出来
        cat $file | tail -n +2 | xsel -b -i
        dis_echo "  已拷贝数据到剪切板!"
    else if test $argv[1] = "-to" #拷贝文件到指定文件
        if  test $e -lt 2
            dis_echo "参数错误，输入格式为 mdc -to dir"
        else 
            set dst $argv[2]
            tail +2 $file >>  $dst 
            dis_echo "拷贝文件到$dst"
        end
    else if test $argv[1] = "-r" #删除文件最后一行
        set total (awk 'END{print NR}' $file) #获取文件行数
        if test $total -eq 1
            dis_echo "文件内容已被清空"
        else
            sed -i '$d' $file
            dis_echo "回退成功"
        end
    else if test $argv[1] = "-e" #调用pyroom进行编辑
        dis_echo "调用pyroom对文件进行编辑"
        pyroom $file
    else if test $argv[1] = "-help" #
        dis_echo "--基于控制台的临时文本使用说明"
        dis_echo "  mdc               连续追加内容到文本"
        dis_echo "  mdc -clear        清空文本"
        dis_echo "  mdc -cat          显示文本内容"
        dis_echo "  mdc -i            显示文本路径"
        dis_echo "  mdc -r            回退到上一次编辑前的内容"
        dis_echo "  mdc -e            调用pyroom进行编辑"
        dis_echo "  mdc -cp           拷贝文本内容到剪切板"
        dis_echo "  mdc -to dst       拷贝文件到dst"
        dis_echo "  mdc other         单行追加内容到文本"
        dis_echo
    else #当行写入内容
        echo $argv >> $file
        dis_echo "成功向文件追加内容！"
    end
    
end

#mdc $argv
